#!/usr/bin/php
$TTL 1h
@	IN	SOA	dnsbl.m0ray.net. root.m0ray.net. (
2013082901	; Serial
1h		; Refresh
1h		; Retry
1d		; Expiry 
2h		; TTL
)

@		NS	@
@		A	85.113.41.86

<?php
$zonerecord='	A	127.0.0.1'."\n";

while(($line=fgets(STDIN))!==FALSE){
 $line=trim($line);
 if(strlen($line)>0 and $line[0]!=="#"){
  if(preg_match('/(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\/(\d{1,2})/',$line,$parts)){
   echo '; --- Net: '.$line."\n";
   $ip=array(
    0=>intval($parts[1]),
    1=>intval($parts[2]),
    2=>intval($parts[3]),
    3=>intval($parts[4]),
   );
   $mask=intval($parts[5]);
   if(($constoctets=floor($mask/8))<4){
    if(($varbits=(8-($mask%8))%8)>0){
     for($i=(1<<$varbits);$i>0;$i--){
      if($constoctets<3){
       echo '*.';
      }
      echo $ip[$constoctets]+$i-1;
      for($j=$constoctets;$j>0;$j--){
       echo '.'.$ip[$j-1];
      }
      echo $zonerecord;
     }
    }else{
     echo '*';
     for($j=$constoctets;$j>0;$j--){
      echo '.'.$ip[$j-1];
     }
     echo $zonerecord;
    }
   }else{
    echo $ip[3].'.'.$ip[2].'.'.$ip[1].'.'.$ip[0].$zonerecord;
   }
  }
 }
}